ナビゲーション:前へ 上へ 次へ
11.2 データ宣言
- [5.3] 実体が(型宣言文もしくは成分定義文で)初期化される場合、その配列境界と文字長を初期化式で使用できます。
-
[7.0]
EQUIVALENCE
文とCOMMON
文、およびBLOCK DATA
プログラム単位は、廃止されたと見なされます(-f2018オプションが使用されている場合はそのように報告されます)。 -
[7.1]
次元数引継ぎ仮引数は任意の次元数の実引数を受け入れます。つまり実引数の次元数を引継ぎます。
ここでの次元数はゼロである可能性があります。つまり、実引数がスカラーである可能性があります。
さらに、次元数引継ぎ仮引数は
ALLOCATABLE
またはPOINTER
属性を持つことができるため、任意の次元数の割付可能変数/ポインター変数を受け入れることができます。書式は以下の通りです:
Real,Dimension(..) :: a, b Integer :: c(..)
上記は3つの変数(仮引数でなければならない)が次元数引継ぎであることを宣言します。Fortran内での次元数引継ぎ仮引数の使用は非常に制限されています。 基本的には、組込照会関数と
SELECT RANK
構文がありますが、その他の場合、別の次元数引き継ぎ引数に対応する他の手続きへの実引数でのみ利用できます。次元数引継ぎの主な用途は、高度なC相互運用性です(後のセクションを参照)。
以下は、Fortran内での非常に簡単な使用例です。
Program assumed_rank_example Real x(1,2),y(3,4,5,6,7) Call showrank(1.5) Call showrank(x) Call showrank(y) Contains Subroutine showrank(a) Real,Intent(In) :: a(..) Print *,'Rank is',Rank(a) End Subroutine End Program
上記は以下を出力します。Rank is 0 Rank is 2 Rank is 5
-
[7.1]
TYPE(*)
型指定子を使用して、スカラー、大きさ引継ぎ、および次元数引継ぎの仮引数を宣言できます。 このような引数は型引継ぎと呼ばれ、対応する実際の引数はどの型でもかまいません。 これにはALLOCATABLE
、CODIMENSION
、INTENT(OUT)
、POINTER
、またはVALUE
属性を含めることはできません。型引継ぎ変数は、Fortranで直接使用する方法が非常に制限されています。
- 実引数として別の型引継ぎ仮引数に渡すことができます。
-
組込関数
IS_CONTIGUOUS
、LBOUND
、PRESENT
、SHAPE
、SIZE
、またはUBOUND
の最初の引数として出現する場合があります。 -
関数
C_LOC
(ISO_C_BINDING
組込みモジュール内)の引数として使用できます。
主にCプログラムとの相互運用に役立ちます(後のセクションを参照)。 非総称手続き参照の場合はスカラー引数を大きさ引継ぎ配列の型引継ぎ引数に渡すことができることに注意してください。